$.fn.infobox = function(opts){
		var self = $(this);
		self.html(UI.widget.infobox(opts));
		return {
			setValue:function(v){
				self.find('.info-box-number').html(v);
			},
			getValue:function(){
				return self.find('.info-box-number').html();
			},
			setTitle:function(v){
				self.find('.info-box-text').html(v);
			},
			getTitle:function(){
				return self.find('.info-box-text').html();
			},
			setProgress:function(opt){
				if(opt.rate!=undefined){
					self.find('.progress-bar').css({width:opt.rate});
				}
				if(opt.content!=undefined){
					self.find('.progress-description').html(opt.content);
				}
			},
			getProgress:function(){
				return {
					rate:self.find('.progress-bar').css(width)||0,
					content:find('.progress-description').html()
				};
			}
		}
};


$.fn.smallbox = function(opts){
	var self = $(this);
	var text = UI.widget.smallbox(opts);
	self.html(text);
	return $.extend($(text),{
		setValue:function(v){
			self.find('p').html(v);
		},
		getValue:function(){
			return self.find('p').html();
		},
		setTitle:function(v){
			self.find('h3').html(v);
		},
		getTitle:function(){
			return self.find('h3').html();
		},
		setHref:function(v){
			self.find('a').attr('href',v);
		},
		getHref:function(){
			return self.find('a').attr('href');
		}
	});
};

$.fn.textbox = function(opts){
	var self = $(this);
	var text = UI.widget.textbox(opts);
	self.html(text);
	return $(text);
};